import { Component as IVueComponent } from 'vue';

export { IVueComponent };


/**
 * @doc https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E9%92%A9%E5%AD%90
 * @doc https://cn.vuejs.org/v2/guide/instance.html#%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E5%9B%BE%E7%A4%BA
 */
export interface IVueLifecycle {

  data?(): { [key: string]: any };

  beforeCreate?(): void;

  created?(): void;

  beforeMount?(): void;

  mounted?(): void;

  beforeUpdate?(): void;

  updated?(): void;

  activated?(): void;

  deactivated?(): void;

  beforeDestroy?(): void;

  destroyed?(): void;

  errorCaptured?(err: Error, vm: IVueComponent, info: string): boolean | undefined;
}
